home *** CD-ROM | disk | FTP | other *** search
- #if !defined(FWSEXCEP_H)
- #define FWSEXCEP_H
- //========================================================================================
- //
- // File: FWSExcep.h
- // Release Version: $ 1.0d1 $
- //
- // Creation Date: 3/28/94
- //
- // Copyright: © 1994 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include <stddef.h>
-
- #ifndef FWCLAINF_H
- #include "FWClaInf.h"
- #endif
-
- //========================================================================================
- // Forward Declarations
- //========================================================================================
-
- class _FW_CException;
- class _FW_CTryBlockContext;
- class _FW_CPrivNewHelper;
- class _FW_CPrivSubHelper;
- class _FW_CDeleteEntry;
-
- typedef unsigned short int _FW_StackEntries;
-
- typedef void (*PFV) ();
-
- typedef void* (*__FW_OperatorNewHandler)(size_t size);
- typedef void (*__FW_OperatorDeleteHandler)(void* p);
-
- //========================================================================================
- // STRUCT FW_SPrivExceptionGlobals
- //
- // Globals for exception handling system.
- // Only one instance of this struct will be instantiated per task.
- //
- //========================================================================================
-
- struct FW_SPrivExceptionGlobals
- {
- _FW_CTryBlockContext* gBaseContext;
- _FW_CTryBlockContext* gCurrentContext;
- short gContextDepth;
-
- _FW_StackEntries gCurrentStackSize;
- _FW_CDeleteEntry* gStackBase;
- _FW_CDeleteEntry* gStackTop;
- _FW_CDeleteEntry* gStackLimit;
-
- long gExceptionBufferSize;
- void* gExceptionBuffer;
- _FW_CException* gCaughtException;
- _FW_CException* gThrownException;
- short gIsThrowing;
-
- PFV gCurrentTerminate;
- PFV gCurrentUnexpected;
-
- FW_ClassReference gBreakExceptionKind;
-
- _FW_CPrivNewHelper** gNewHelperStackBottom;
- _FW_CPrivNewHelper** gNewHelperStackTop;
- _FW_CPrivSubHelper* gSubHelperStorageArray;
- _FW_CPrivSubHelper* gSubHelperFreeListHead;
-
- __FW_OperatorNewHandler gOperatorNewHandler;
- __FW_OperatorDeleteHandler gOperatorDeleteHandler;
- };
-
- #endif
-